package cn.hyy.hrm.mapper;

import cn.hyy.hrm.Tenant;
import cn.hyy.hrm.query.TenantQuery;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author solargen
 * @since 2020-03-30
 */
public interface TenantMapper extends BaseMapper<Tenant> {

    /**
     * 1、mapper的sql只关注高级查询，只要mapper的第一个参数是Page，那么自动分页
     * 而且分页后的数据自动封装到IPage对象中,IPage中就有total和rows了
     * <p>
     * <p>
     * 2、mapper接口多个参数了，如何在sql中获取到指定参数
     * mybatis默认按照参数位置有着默认的参数名称
     * arg0,arg1,....
     * param1,param2,.......
     * mybatis多个参数还支持绑定参数名，使用@Param注解
     *
     * @param page
     * @param query
     * @return
     */
    IPage<Tenant> selectByQuery(Page<Object> page, @Param("query") TenantQuery query);
}
